package com.yunkeji.system.domain.bo;

import com.yunkeji.common.core.validate.AddGroup;
import com.yunkeji.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.yunkeji.common.core.domain.BaseEntity;

/**
 * 城市信息业务对象 ykj_city
 *
 * @author 老张
 * @date 2024-05-27
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class CityBo extends BaseEntity {

    /**
     * ID
     */
    @NotNull(message = "ID不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 父id
     */
    @NotNull(message = "父id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long pid;

    /**
     * 简称
     */
    @NotBlank(message = "简称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shortname;

    /**
     * 名称
     */
    @NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 全称
     */
    @NotBlank(message = "全称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String mergerName;

    /**
     * 层级 0 1 2 省市区县
     */
    @NotNull(message = "层级 0 1 2 省市区县不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer level;

    /**
     * 拼音
     */
    @NotBlank(message = "拼音不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pinyin;

    /**
     * 长途区号
     */
    @NotBlank(message = "长途区号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String code;

    /**
     * 邮编
     */
    @NotBlank(message = "邮编不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zipCode;

    /**
     * 首字母
     */
    @NotBlank(message = "首字母不能为空", groups = { AddGroup.class, EditGroup.class })
    private String first;

    /**
     * 经度
     */
    @NotBlank(message = "经度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String lng;

    /**
     * 纬度
     */
    @NotBlank(message = "纬度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String lat;


}
